// 声明一个桶 用来存储副作用函数
const bucket = new WeakMap()
// 定一个队列
const jobQueue = new Set()
// 拦截ownKeys时使用的作为追踪的key
const ITERATE_KEY = Symbol()
const MAP_KEY_ITERATE_KEY = Symbol()
// 使用Promise.resolve（）创建一个promise实例，用它将一个任务添加进微任务队列
const p = Promise.resolve()
// 标志位代表是否正在刷新队列
let isFlushing = false
// 当前执行的副作用函数
let activeEffect

// 副作用函数栈
const effectStack = []
// 触发的操作类型
const TriggerType = {
  SET: 'SET',
  ADD: 'ADD',
  DELETE: 'DELETE'
}
// 定义一个Map实例，存储原始对象到代理对象的映射
const reactiveMap = new Map()
// 一个标记变量，代表是否进行追踪，默认值为true，即允许追踪
let shouldTrack = true
